#include<iostream>
#include<unordered_map>

/*给定一个整数数组 nums 和一个整数目标值 target，请你在该数组中找出 和为目标值 target  的那 两个 整数，并返回它们的数组下标。
你可以假设每种输入只会对应一个答案，并且你不能使用两次相同的元素。
你可以按任意顺序返回答案*/

class Solution
{
    public:
    std::vector<int> twoSum(const vector<int>& nums,int target)
    {
        std::unordered_map<int,int> temp;
        for(int i = 0;i < nums.size();++i)
        {
            if(temp.count(target - nums.[i]))
            {
                return {temp[nums[i]],i};
            }
            temp.insert(target - nums[i],i);
        }
        return {};
    }
}
